/**
 * created by 小卷毛, 2020-06-15 015
 * Copyright (c) 2020, 416143467@qq.com All Rights Reserved.
 * #                   *********                            #
 * #                  ************                          #
 * #                  *************                         #
 * #                 **  ***********                        #
 * #                ***  ****** *****                       #
 * #                *** *******   ****                      #
 * #               ***  ********** ****                     #
 * #              ****  *********** ****                    #
 * #            *****   ***********  *****                  #
 * #           ******   *** ********   *****                #
 * #           *****   ***   ********   ******              #
 * #          ******   ***  ***********   ******            #
 * #         ******   **** **************  ******           #
 * #        *******  ********************* *******          #
 * #        *******  ******************************         #
 * #       *******  ****** ***************** *******        #
 * #       *******  ****** ****** *********   ******        #
 * #       *******    **  ******   ******     ******        #
 * #       *******        ******    *****     *****         #
 * #        ******        *****     *****     ****          #
 * #         *****        ****      *****     ***           #
 * #          *****       ***        ***      *             #
 * #            **       ****        ****                   #
 */
package com.zhiyou.aifeng.common_ui

import androidx.multidex.MultiDexApplication
import cn.jpush.android.api.JPushInterface
import com.alibaba.android.arouter.launcher.ARouter
import com.baidu.mapapi.CoordType
import com.baidu.mapapi.SDKInitializer
import com.iflytek.cloud.Setting
import com.iflytek.cloud.SpeechConstant
import com.iflytek.cloud.SpeechUtility
import com.jeremyliao.liveeventbus.LiveEventBus
import com.lzg.OkGoHelper
import com.zhiyou.aifeng.common.helper.getVersion
import com.zhiyou.aifeng.common_ui.oss.OSSHelper
import com.zhiyou.aifeng.common_ui.viewmodel.BaseViewModel
import me.jessyan.autosize.AutoSizeConfig

/**
 * 项目名称：Smart_Machine
 * 创建人：小卷毛
 * 创建时间：2020-06-15 15:40
 */
class Application : MultiDexApplication() {

    override fun onCreate() {
        super.onCreate()

        @Suppress("ConstantConditionIf")
        if (BuildConfig.LOG_DEBUG) {
            ARouter.openLog()   //打印日志
            ARouter.openDebug() //开启调试模式(如果在InstantRun模式下运行，必须开启调试模式！线上版本需要关闭,否则有安全风险)
            ARouter.printStackTrace()
        }
        ARouter.init(this@Application)

        // 屏幕适配
        AutoSizeConfig.getInstance().isCustomFragment = true

        // OkGo初始化
        OkGoHelper.initOkGo(
            this@Application,
            "Smart_Machine",
            BuildConfig.LOG_DEBUG
        )

        //OSS存储初始化
        OSSHelper.manager.initOSS(this@Application)

        // 获取当前版本号
        BaseViewModel.mVersion = getVersion()

        // LiveDataBus初始化
        LiveEventBus.config()
            .lifecycleObserverAlwaysActive(true)
            .enableLogger(BuildConfig.LOG_DEBUG)

        //极光推送
        JPushInterface.setDebugMode(BuildConfig.LOG_DEBUG) //设置开启日志,发布时请关闭日志
        JPushInterface.init(this@Application)              //初始化 JPush

        //百度地图初始化
        //在使用SDK各组件之前初始化context信息，传入ApplicationContext
        SDKInitializer.initialize(this@Application)
        //自4.3.0起，百度地图SDK所有接口均支持百度坐标和国测局坐标，用此方法设置您使用的坐标类型.
        //包括BD09LL和GCJ02两种坐标，默认是BD09LL坐标。
        SDKInitializer.setCoordType(CoordType.BD09LL)

        //讯飞语音
        SpeechUtility.createUtility(this, "${SpeechConstant.APPID}=5bf4b5fe")
        //设置日志开关（默认开启）
        Setting.setShowLog(BuildConfig.LOG_DEBUG)
        Setting.setLocationEnable(false)
    }

    override fun onTerminate() {
        super.onTerminate()
        ARouter.getInstance().destroy()
    }

}